#include <modules\input\input_interface.h>

namespace DelGE
{
	namespace Modules
	{
		namespace Input
		{
			InputInterface::InputInterface()
			{
			}

			InputInterface::~InputInterface()
			{
			}

			/*void InputInterface::SetSystemHandle(SystemModule* pSystem)
			{
				this->pSystem = pSystem;
			}

			SystemModule* InputInterface::GetSystemHandle()
			{
				return this->pSystem;
			}*/

			bool InputInterface::IsKeyUp(KeyCode key)
			{
				return (this->eKeyState[key] == DelGE_KeyState_Up);
			}

			bool InputInterface::IsKeyDown(KeyCode key)
			{
				return (this->eKeyState[key] == DelGE_KeyState_Down);
			}

			bool InputInterface::IsKeyHit(KeyCode key)	
			{
				return (this->eKeyState[key] == DelGE_KeyState_Hit);
			}

			bool InputInterface::IsKeyPressed(KeyCode key)	
			{
				return (this->eKeyState[key] == DelGE_KeyState_Pressed);
			}

			bool InputInterface::IsMouseButtonUp(MouseCode button)
			{
				return (this->eMouseState[button] == DelGE_KeyState_Up);
			}

			bool InputInterface::IsMouseButtonDown(MouseCode button)
			{
				return (this->eMouseState[button] == DelGE_KeyState_Down);
			}

			bool InputInterface::IsMouseButtonHit(MouseCode button)	
			{
				return (this->eMouseState[button] == DelGE_KeyState_Hit);
			}

			bool InputInterface::IsMouseButtonPressed(MouseCode button)	
			{
				return (this->eMouseState[button] == DelGE_KeyState_Pressed);
			}

			int InputInterface::GetMouseX()
			{
				return this->iMouseX;
			}
			
			int InputInterface::GetMouseY()
			{
				return this->iMouseY;
			}
		}
	}
}